package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * 排序字符串
 *
 * 当元素本身实现了Comparable接口，但是比较规则不满足排序需求时，也可以额外的指定比较规则
 */
public class SortListDemo3 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
//        list.add("tom");
//        list.add("jerry");
//        list.add("jack");
//        list.add("rose");
//        list.add("marry");
//        list.add("ada");
//        list.add("Black");
//        list.add("Kobe");
//        list.add("James");

        list.add("诸葛孔明");
        list.add("刘备");
        list.add("赵飞燕");

        System.out.println(list);

        //重写比较规则方法
        Collections.sort(list, new Comparator<String>() {
            @Override
            //return的int如果是整数或者是0, 顺序不变, 如果是负数, 顺序调转
            public int compare(String o1, String o2) {
//                return o1.length()-o2.length();
                //反过来减就是降序
                return o2.length()-o1.length();
            }
        });
        System.out.println(list);


    }
}
